home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / text / mac / faqs.431 < prev    next >
Text File  |  1996-02-12  |  28KB  |  627 lines

  1. Frequently Asked Questions (FAQS);faqs.431
  2.  
  3.  
  4.  
  5. Some questions in this group aren't really about Perl, but rather
  6. about system-specific issues.  You might also consult the Most
  7. Frequently Asked Questions list in comp.unix.questions for answers
  8. to this type of question.
  9.  
  10. The current version of perl is 4.035 (version 4, patchlevel 35).
  11. There haven't actually been 35 updates to perl4; rather, the context
  12. diffs posted to the net have been broken up into 35 news-digestable
  13. chunks.
  14.  
  15. This list is maintained by Tom Christiansen, and is archived on
  16. convex.com [130.168.1.1] in the file pub/perl/info/faq.  If you
  17. have any suggested additions or corrections to this article, please
  18. send them to Tom at either <tchrist@convex.com> or <convex!tchrist>.
  19. Special thanks to Larry Wall for periodically reviewing this list for
  20. accuracy and especially for writing and releasing Perl in the first place.
  21.  
  22. --
  23.     Tom Christiansen      tchrist@convex.com      convex!tchrist
  24.     I already have too much problem with people thinking the efficiency of
  25.     a perl construct is related to its length.  On the other hand, I'm
  26.     perfectly capable of changing my mind next week...  :-) --lwall
  27. Xref: bloom-picayune.mit.edu news.answers:4267 comp.lang.perl:14078
  28. Newsgroups: news.answers,comp.lang.perl
  29. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!usc!cs.utexas.edu!wupost!news.utdallas.edu!convex!tchrist
  30. From: Tom Christiansen <tchrist@convex.COM>
  31. Subject: comp.lang.perl FAQ (part 1 of 2)
  32. Originator: tchrist@pixel.convex.com
  33. Sender: usenet@news.eng.convex.com (news access account)
  34. Message-ID: <1992Nov30.125050.8928@news.eng.convex.com>
  35. Approved: news-answers-request@MIT.Edu
  36. Date: Mon, 30 Nov 1992 12:50:50 GMT
  37. Reply-To: tchrist@convex.COM (Tom Christiansen)
  38. References: <1992Nov30.124619.8579@news.eng.convex.com>
  39. Nntp-Posting-Host: pixel.convex.com
  40. Organization: Convex Computer Corporation, Colorado Springs, CO
  41. Followup-To: comp.lang.perl
  42. X-Disclaimer: This message was written by a user at CONVEX Computer
  43.               Corp. The opinions expressed are those of the user and
  44.               not necessarily those of CONVEX.
  45. Lines: 860
  46.  
  47. Archive-name: perl-faq/part1
  48. Version: $Id: perl-info,v 1.2 92/11/30 05:22:33 tchrist Exp Locker: tchrist $
  49.  
  50. This posting contains answers to general information questions,
  51. mostly of a non-technical nature.  The following questions are
  52. answered:
  53.  
  54. 1.1) What is Perl?
  55. 1.2) Is Perl hard to learn?
  56. 1.3) Should I program everything in Perl?
  57. 1.4) Where can I get Perl over the Internet?
  58. 1.5) Where can I get Perl via Email?
  59. 1.6) How can I get Perl via UUCP?
  60. 1.7) Where can I get more information on Perl?
  61. 1.8) Can people who aren't on USENET receive comp.lang.perl as a digest?
  62. 1.9) Are archives of comp.lang.perl available?
  63. 1.10) How do I get Perl to run on machine FOO?
  64. 1.11) Where can I get (info|inter|ora|sql|syb)perl?
  65. 1.12) There's an a2p and an s2p; why isn't there a p2c (perl-to-C)?
  66. 1.13) Where can I get undump for my machine?
  67. 1.14) Where can I get a perl-mode for emacs?
  68. 1.15) How can I use Perl interactively?
  69. 1.16) Is there a Perl shell?
  70. 1.17) Is there a Perl profiler?
  71. 1.18) Is there a yacc for Perl?
  72. 1.19) How can I use curses with perl?
  73. 1.20) How can I use X with Perl?
  74. 1.21) What is perl4?  What is perl5?
  75. 1.22) How does Perl compare with languages like REXX or TCL?
  76. 1.23) Is it a Perl program or a Perl script?
  77. 1.24) What's the difference between "Perl" and "perl"?
  78. 1.25) What companies use or ship Perl?
  79. 1.26) Is there commercial, 3rd-party support for Perl?
  80. 1.27) Where can I get a list of the JAPH signature quotes?
  81. 1.28) Where can I get a list of Larry Wall witticisms?
  82. 1.29) Is there a pretty-printer for Perl?
  83.  
  84.  
  85. 1.1) What is Perl?
  86.  
  87.     A programming language, by Larry Wall <lwall@netlabs.com>.
  88.  
  89.     Here's the beginning of the description from the man page:
  90.  
  91.     Perl is an interpreted language optimized for scanning arbitrary text
  92.     files, extracting information from those text files, and printing reports
  93.     based on that information.  It's also a good language for many system
  94.     management tasks.  The language is intended to be practical (easy to use,
  95.     efficient, complete) rather than beautiful (tiny, elegant, minimal).  It
  96.     combines (in the author's opinion, anyway) some of the best features of C,
  97.     sed, awk, and sh, so people familiar with those languages should have
  98.     little difficulty with it.  (Language historians will also note some
  99.     vestiges of csh, Pascal, and even BASIC-PLUS.)  Expression syntax
  100.     corresponds quite closely to C expression syntax.  Unlike most Unix
  101.     utilities, Perl does not arbitrarily limit the size of your data--if
  102.     you've got the memory, Perl can slurp in your whole file as a single
  103.     string.  Recursion is of unlimited depth.  And the hash tables used by
  104.     associative arrays grow as necessary to prevent degraded performance.
  105.     Perl uses sophisticated pattern matching techniques to scan large amounts
  106.     of data very quickly.  Although optimized for scanning text, Perl can also
  107.     deal with binary data, and can make dbm files look like associative arrays
  108.     (where dbm is available).  Setuid Perl scripts are safer than C programs
  109.     through a dataflow tracing mechanism which prevents many stupid security
  110.     holes.  If you have a problem that would ordinarily use sed or awk or sh,
  111.     but it exceeds their capabilities or must run a little faster, and you
  112.     don't want to write the silly thing in C, then Perl may be for you.  There
  113.     are also translators to turn your sed and awk scripts into Perl scripts.
  114.  
  115.  
  116. 1.2) Is Perl hard to learn?
  117.  
  118.     No, Perl is easy to learn for two reasons.
  119.  
  120.     The first reason is that most of Perl is derived from existing tools
  121.     and languages, ones that many people who turn to Perl already have
  122.     some familiarity with.  These include the C programming language, the
  123.     UNIX C library, the UNIX shell, sed, and awk.  If you already know
  124.     these somewhat, Perl should be very easy for you.
  125.  
  126.     The second reason that Perl is easy to learn is that you don't have to
  127.     know every thing there is to know about it in order to get good use
  128.     out of it.  In fact, just a very small subset, mostly borrowed from C,
  129.     the shell, and sed, will be enough for most tasks.  As you feel the
  130.     need or desire to use more sophisticated features (such as C
  131.     structures or networking), you can learn these as you go.  The
  132.     learning curve for Perl is not a steep one, especially if you have
  133.     the headstart of having a background in UNIX.  Rather, its learning
  134.     curve is gentle and gradual, but it *is* admittedly rather long.
  135.  
  136.     If you don't know C or UNIX at all, it'll be a steeper learning curve,
  137.     but what you then learn from Perl will carry over into other areas,
  138.     like using the C library, UNIX system call, regular expressions, and
  139.     associative arrays, just to name a few.  To know Perl is to know
  140.     UNIX, and vice versa.
  141.  
  142.  
  143. 1.3) Should I program everything in Perl?
  144.  
  145.     Of course not.  You should choose the appropriate tool for the task at
  146.     hand.  While it's true that the answer to the question "Can I do (some
  147.     arbitrary task) in Perl?" is almost always "yes", that doesn't mean
  148.     this is necessarily a good thing to do.  For many people, Perl serves
  149.     as a great replacement for shell programming.  For a few people, it
  150.     also serves as a replacement for most of what they'd do in C.  But
  151.     for some things, Perl just isn't the optimal choice, such as tasks
  152.     requiring very complex data structures.
  153.  
  154.  
  155. 1.4) Where can I get Perl over the Internet?
  156.  
  157.     From any comp.sources.misc archive.   Initial sources  were posted to
  158.     Volume 18, Issues 19-54 at patchlevel 3.  The Patches 4-10 were posted
  159.     to Volume 20, Issues 56-62.  You can use the archie server
  160.     (see the alt.sources FAQ in news.answers) for ways to find these.
  161.  
  162.     These machines, at the very least, definitely have it available for
  163.     anonymous FTP:
  164.  
  165.     ftp.uu.net                137.39.1.2
  166.     archive.cis.ohio-state.edu      128.146.8.52
  167.     jpl-devvax.jpl.nasa.gov         128.149.1.143
  168.     ftp.netlabs.com         192.94.48.152
  169.     prep.ai.mit.edu            18.71.0.38
  170.     ftp.cs.ruu.nl            131.211.80.17  (Europe)
  171.  
  172.  
  173.  
  174.  
  175. 1.5) Where can I get Perl via Email?
  176.  
  177.     If you are in Europe, you might using the following site.  (I'm still
  178.     looking for a domestic site.) This information thanks to "Henk P.
  179.     Penning" <henkp@cs.ruu.nl>:  One automated fashion is as follows:
  180.  
  181.     Email: Send a message to 'mail-server@cs.ruu.nl' containing:
  182.      begin
  183.      path your_email_address
  184.      send help
  185.      send PERL/INDEX
  186.      end
  187.     The path-line may be omitted if your message contains a normal From:-line.
  188.     You will receive a help-file and an index of the directory that contains
  189.     the Perl stuff.
  190.  
  191.     If all else fails, mail to Larry usually suffices.
  192.  
  193.  
  194. 1.6) How can I get Perl via UUCP?
  195.  
  196.     You can get it from the site osu-cis; here is the appropriate info,
  197.     thanks to J Greely <jgreely@cis.ohio-state.edu> or <osu-cis!jgreely>.
  198.  
  199.     E-mail contact:
  200.         osu-cis!uucp
  201.     Get these two files first:
  202.         osu-cis!~/GNU.how-to-get.
  203.         osu-cis!~/ls-lR.Z
  204.     Current Perl distribution:
  205.         osu-cis!~/perl/4.0/kits@10/perl.kitXX.Z (XX=01-37)
  206.     How to reach osu-cis via uucp(L.sys/Systems file lines):
  207.     #
  208.     # Direct Trailblazer
  209.     #
  210.     osu-cis Any ACU 19200 1-614-292-5112 in:--in:--in: Uanon
  211.     #
  212.     # Direct V.32 (MNP 4)
  213.     # dead, dead, dead...sigh.
  214.     #
  215.     #osu-cis Any ACU 9600 1-614-292-1153 in:--in:--in: Uanon
  216.     #
  217.     # Micom port selector, at 1200, 2400, or 9600 bps.
  218.     # Replace ##'s below with 12, 24, or 96 (both speed and phone number).
  219.     #
  220.     osu-cis Any ACU ##00 1-614-292-31## "" \r\c Name? osu-cis nected \c GO \d\r\d\r\d\r in:--in:--in:
  221.      Uanon
  222.  
  223.     Modify as appropriate for your site, of course, to deal with your
  224.     local telephone system.  There are no limitations concerning the hours
  225.     of the day you may call.
  226.  
  227.     Another possibility is to use UUNET, although they charge you
  228.     for it.  You have been duly warned.  Here's the advert:
  229.  
  230.            Anonymous Access to UUNET's Source Archives
  231.  
  232.                  1-900-GOT-SRCS
  233.  
  234.      UUNET now provides access to its extensive collection of UNIX
  235.     related sources to non- subscribers.  By  calling  1-900-468-7727
  236.     and  using the login "uucp" with no password, anyone may uucp any
  237.     of UUNET's on line source collection.  Callers will be charged 40
  238.     cents  per  minute.   The charges will appear on their next tele-
  239.     phone bill.
  240.  
  241.      The  file  uunet!/info/help  contains  instructions.   The  file
  242.     uunet!/index//ls-lR.Z contains a complete list of the files available
  243.     and is updated daily.  Files ending in Z need to be uncompressed
  244.     before being used.   The file uunet!~/compress.tar is a tar
  245.     archive containing the C sources for the uncompress program.
  246.  
  247.      This service provides a  cost  effective  way  of  obtaining
  248.     current  releases  of sources without having to maintain accounts
  249.     with UUNET or some other service.  All modems  connected  to  the
  250.     900  number  are  Telebit T2500 modems.  These modems support all
  251.     standard modem speeds including PEP, V.32 (9600), V.22bis (2400),
  252.     Bell  212a  (1200), and Bell 103 (300).  Using PEP or V.32, a 1.5
  253.     megabyte file such as the GNU C compiler would cost $10  in  con-
  254.     nect  charges.   The  entire  55  megabyte X Window system V11 R4
  255.     would cost only $370 in connect time.  These costs are less  than
  256.     the  official  tape  distribution fees and they are available now
  257.     via modem.
  258.  
  259.               UUNET Communications Services
  260.            3110 Fairview Park Drive, Suite 570
  261.              Falls Church, VA 22042
  262.              +1 703 876 5050 (voice)
  263.               +1 703 876 5059 (fax)
  264.                 info@uunet.uu.net
  265.  
  266.  
  267.  
  268. 1.7) Where can I get more information on Perl?
  269.  
  270.     We'll cover five areas here: USENET (where you're probably reading
  271.     this), publications, the reference guide, examples on the Internet,
  272.     and Perl instructional courses.
  273.  
  274.     A.  USENET
  275.  
  276.     You should definitely read the USENET comp.lang.perl newsgroup or
  277.     mailing list for all sorts of discussions regarding the language,
  278.     bugs, features, history, humor, and trivia.  In this respect, it
  279.     functions both as a comp.lang.* style newsgroup and also as a user
  280.     group for the language; in fact, there's a mailing list called
  281.     ``perl-users'' that is bidirectionally gatewayed to the newsgroup; see
  282.     question #38 for details.  Larry Wall is a very frequent poster here,
  283.     as well as many (if not most) of the other seasoned Perl programmers.
  284.     It's the best place for the very latest information on Perl.
  285.  
  286.     B.  PUBLICATIONS
  287.  
  288.     If you've been dismayed by the ~80-page troffed Perl man page (or is
  289.     that man treatise?) you should look to ``the Camel Book'', written by
  290.     Larry and Randal L. Schwartz <merlyn@ora.com>, published as a Nutshell
  291.     Handbook by O'Reilly & Associates and entitled _Programming Perl_.
  292.     Besides serving as a reference guide for Perl, it also contains
  293.     tutorial material and is a great source of examples and cookbook
  294.     procedures, as well as wit and wisdom, tricks and traps, pranks and
  295.     pitfalls.  The code examples contained therein are available via
  296.     anonymous FTP from ftp.uu.net in
  297.     /published/oreilly/nutshell/perl/perl.tar.Z for your retrieval.
  298.     Corrections and additions to the book can be found in the Perl man
  299.     page right before the BUGS section under the heading ERRATA AND
  300.     ADDENDA.
  301.  
  302.     If you can't find the book in your local technical bookstore, the book
  303.     may be ordered directly from O'Reilly by calling 1-800-998-9938 if in
  304.     North America and 1-707-829-0515.  The book's ISBN is 0-937175-64-1.
  305.  
  306.     Autographed copies are *NO LONGER* available from TECHbooks --
  307.     you'll have to nab the authors in person if you want one.  Larry
  308.     routinely carries around a camel stamp for just such an occasion.
  309.  
  310.     Reasonably substantiated rumor has it that there will be another Perl
  311.     book out pretty soon, this one aimed more at beginners.  Look for it
  312.     from ORA towards the beginning of 93.
  313.  
  314.     Larry Wall has published a 3-part article on perl in Unix World
  315.     (August through October of 1991), and Rob Kolstad also had a 3-parter
  316.     in Unix Review (May through July of 1990).  Tom Christiansen also has
  317.     a brief overview article in the trade newsletter Unix Technology
  318.     Advisor from November of 1989.  You might also investigate "The Wisdom
  319.     of Perl" by Gordon Galligher from SunExpert magazine;  April 1991
  320.     Volume 2 Number 4.  The newest (Dec 92) Computer Language magazine
  321.     is also alleged to contain a cover article on Perl.
  322.  
  323.     The USENIX LISA (Large Installations Systems Administration) Conference
  324.     have for several years now included many papers of tools written in
  325.     Perl.  Old proceedings of these conferences are available; look in
  326.     your current issue of ";login:" or send mail to office@usenix.org
  327.     for further information.
  328.  
  329.     C.  INTERNET
  330.  
  331.     For other examples of Perl scripts, look in the Perl source directory in
  332.     the eg subdirectory.  You can also find a good deal of them on
  333.     archive.cis.ohio-state.edu in the pub/perl/scripts/ subdirectory.
  334.  
  335.     Another source for examples, currently only for anonymous FTP, is on
  336.     convex.com [130.168.1.1].  This contains, amongst other things,
  337.     a copy of the newsgroup up through Aug 91, a text retrieval database
  338.     for the newsgroup, a rather old and short troff version of Tom Christiansen's
  339.     perl tutorial (this was the version presented at Washington DC USENIX),
  340.     and quite a few of Tom's scripts.  You can look at the INDEX file
  341.     in /pub/perl/INDEX for a list of what's in that directory.
  342.  
  343.     The Convex and Ohio State archives are mirrored on uunet
  344.     in /languages/perl/scripts-{convex,osu}.
  345.  
  346.     D.  REFERENCE GUIDE
  347.  
  348.     A nice reference guide by Johan Vromans <jv@mh.nl> is also available;
  349.     It is distributed in LaTeX (source) and PostScript (ready to
  350.     print) forms. Obsolete versions may still be available in TeX and troff
  351.     forms, although these don't print as nicely. The official kit
  352.     includes both LaTeX and PostScript forms, and can be FTP'd from
  353.     ftp.cs.ruu.nl [131.211.80.17], file /pub/DOC/perlref-4.035.tar.Z.
  354.     The reference guide comes with the O'Reilly book in a nice, glossy
  355.     card format.
  356.  
  357.     E.  PERL COURSES
  358.  
  359.     Various technical conferences, including USENIX, SUG, WCSAS, AUUG,
  360.     FedUnix, and Europen have been sponsoring tutorials of varying lengths
  361.     on Perl at their system administration and general conferences.  You
  362.     might consider attending one of these.  These classes are typically
  363.     taught by Tom Christiansen <tchrist@usenix.com>, although both Rob
  364.     Kolstad <kolstad@usenix.org> and Randal Schwartz <merlyn@ora.com> also
  365.     teach Perl on occasion.  Special appearances by Tom, Rob, and/or
  366.     Randal may also be negotiated.  Classes can run from one day up to a
  367.     week ranging over a wide range of subject matter (most are two or
  368.     three days), and can include lab time if you want; having lab time
  369.     with exercises is generally of great benefit.  Send us mail if your
  370.     organization is interested in having a Perl class taught at your site.
  371.  
  372.  
  373. 1.8) Can people who aren't on USENET receive comp.lang.perl as a digest?
  374.  
  375.     "Perl-Users" is the mailing list version of the comp.lang.perl
  376.     newsgroup.  If you're not lucky enough to be on USENET you can post to
  377.     comp.lang.perl by sending to one of the following addresses.  Which one
  378.     will work best for you depends on which nets your site is hooked into.
  379.     Ask your local network guru if you're not certain.
  380.  
  381.     Internet: PERL-USERS@VIRGINIA.EDU
  382.               Perl-Users@UVAARPA.VIRGINIA.EDU
  383.  
  384.     BitNet: Perl@Virginia
  385.  
  386.     uucp: ...!uunet!virginia!perl-users
  387.  
  388.     The Perl-Users list is bidirectionally gatewayed with the USENET
  389.     newsgroup comp.lang.perl.  This means that VIRGINIA functions as a
  390.     reflector.  All traffic coming in from the non-USENET side is
  391.     immediately posted to the newsgroup.  Postings from the USENET side are
  392.     periodically digested and mailed out to the Perl-Users mailing list.  A
  393.     digest is created and distributed at least once per day, more often if
  394.     traffic warrants.
  395.  
  396.     All requests to be added to or deleted from this list, problems,
  397.     questions, etc., should be sent to:
  398.  
  399.     Internet: Perl-Users-Request@Virginia.EDU
  400.               Perl-Users-Request@uvaarpa.Virginia.EDU
  401.  
  402.     BitNet: Perl-Req@Virginia
  403.  
  404.     uucp: ...!uunet!virginia!perl-users-request
  405.  
  406.     Coordinator: Marc Rouleau <mer6g@VIRGINIA.EDU>
  407.  
  408. 1.9) Are archives of comp.lang.perl available?
  409.  
  410.     Yes, although they're poorly organized.  You can get them from
  411.     the host ftp.cs.caltech.edu (131.215.128.204) in the directory
  412.     /pub/comp.lang.perl.  The file is comp.lang.perl.tar.Z; this file
  413.     was last modified on February 15, 1992, and is 8.9 megabytes long.
  414.  
  415.     These are currently stored in news- or MH-style format; there are
  416.     subdirectories named things like "arrays", "programs", "taint", and
  417.     "emacs".  Unfortunately, only the first ~1600 or so messages have been
  418.     so categorized, and we're now up to almost 15000.  Furthermore, even
  419.     this categorization was haphazardly done and contains errors.
  420.  
  421.     A more sophisticated query and retrieval mechanism is desirable.
  422.     Preferably one that allows you to retrieve article using a fast-access
  423.     indices, keyed on at least author, date, subject, thread (as in "trn")
  424.     and probably keywords.  Right now, the MH pick command works for this,
  425.     but it is very slow to select on 15000 articles.
  426.  
  427.     If you're serious about this, your best bet is probably to retrieve
  428.     the compressed tarchive and play with what you get.  Any suggestions
  429.     how to better sort this all out are extremely welcome.
  430.  
  431.     Currently the comp.lang.perl archives on convex.com are nearly a year
  432.     behind.  That's because I no longer have room to store them there.  I
  433.     do have them all on-line still, but they are not publicly accessible.
  434.     If you have a special request for a query on the old newsgroup
  435.     postings, and make nice noises in my direction, I can run the query
  436.     and send them to you.  Algebraic queries are like "find me anything
  437.     about this and that and the other thing but not this or whozits".  I
  438.     hope to put this in the form of a mailserver.  Donated software would
  439.     be fine. :-)
  440.  
  441.     The fast text-retrieval query system for this I'm currently using is
  442.     Liam Quin's excellent lqtext system, available from ftp.cs.toronto.edu
  443.     in /pub/lq-text* .
  444.  
  445.     Rumor has it that there are WAIS servers out there for comp.lang.perl
  446.     these days, but I haven't used them.  Any information on these would
  447.     be appreciated.
  448.  
  449.  
  450. 1.10) How do I get Perl to run on machine FOO?
  451.  
  452.     Perl comes with an elaborate auto-configuration script that allows Perl
  453.     to be painlessly ported to a wide variety of platforms, including many
  454.     non-UNIX ones.  Amiga and MS-DOS binaries are available on
  455.     jpl-devvax.jpl.nasa.gov [128.149.1.143] for anonymous FTP.  Try to bring
  456.     Perl up on your machine, and if you have problems, examine the README
  457.     file carefully, and if all else fails, post to comp.lang.perl;
  458.     probably someone out there has run into your problem and will be able
  459.     to help you.
  460.  
  461.     In particular, since they're so often asked about, here's some information
  462.     for the MacIntosh from Matthias Ulrich Neeracher <neeri@iis.ethz.ch>:
  463.  
  464.     A port of Perl to the Apple Macintosh is available by anonymous
  465.     ftp to wuarchive.wustl.edu [128.252.135.4] from the file
  466.     /mirrors2/rascal.ics.utexas.edu/programming/Perl_402_MPW_CPT_bin .
  467.  
  468.     You can also get it from Host gatekeeper.dec.com [16.1.0.2]
  469.     in /.9/plan/perl/macperl/Perl_402_MPW_CPT_bin .
  470.  
  471.     The file is 1.1M and must be transferred in BINARY mode. Please
  472.     be considerate of the archive sites' users during CDT working hours.
  473.     (And, no, there is no way to get it by email).
  474.  
  475.     For European users, the file should soon appear on lth.se.
  476.  
  477.     To make optimal use of all the features of this port, you
  478.     should have MPW, ToolServer, and 5M of memory. There is also a
  479.     standalone version included, but it's currently of very limited
  480.     usefulness.
  481.  
  482.     This package contains all of the sources for compilation with
  483.     MPW C 3.2
  484.  
  485.     Here's more, from Timothy Murphy <tim@maths.tcd.ie >
  486.  
  487.  
  488.     I ported perl to the Mac, using Think C, a while ago.  I've
  489.     used it quite a lot since without problems.
  490.  
  491.     It is available from ftp.maths.tcd.ie in pub/Mac/perl.hqx .
  492.     The source (as diffs from the standard source) is in the
  493.     subdirectory pub/Mac/perl-4.035 .
  494.  
  495.     A Mac version of patch is also available in pub/Mac/patch.hqx
  496.     with source in pub/Mac/patch-2.0 .  Various other Mac ports of
  497.     GNU programs can be found in the same place.
  498.  
  499.     They all use a small "ThinkCPosix" library containing various
  500.     Unix-like functions, which again can be found in the same
  501.     place.
  502.  
  503.     And here's some VMS information from Rao V. Akella
  504.     <rao@moose.cccs.umn.edu>:  (this appears to be an old port)
  505.  
  506.     You can pick up Perl for VMS (version 3.0.1.1 patchlevel 4) via
  507.     anonymous ftp from ftp.pitt.edu [130.49.253.1] in the
  508.     software/vms/perl subdirectory (there are two files there:
  509.     perl-pl18.bck and perl-pl4.bck).
  510.  
  511.     There is also a v3.018 on info.rz.uni-ulm.de [134.60.1.125] or
  512.     vms.huji.ac.il [128.139.4.3] in /pub/VMS/misc (information courtesy
  513.     of Anders Rolff <rolff@scotty.eurokom.ie>).
  514.  
  515.     And here is a recent version for MS-DOS from Budi Rahard
  516.     <rahard@ee.UManitoba.CA>, who says:
  517.  
  518.     I am collecting MS-DOS Perl(s) in ftp.ee.umanitoba.ca directory
  519.     /pub/msdos/perl.  Currently I received three versions of Perl v4.019
  520.     and one of 4.010.  (Tommy Thorn <tthorn@daimi.aau.dk> and Len Reed
  521.     <holos0!lbr@gatech.edu>)
  522.  
  523.     There is now a 4.035 for 386 [DOS], Hitoshi Doi <doi@jrd.december.com>
  524.     port, is available ftp.ee.umanitoba.ca as /pub/msdos/perl/perl386.zoo .
  525.  
  526.     Please contact the porters directly in case of questions about
  527.     these ports.
  528.  
  529.  
  530. 1.11) Where can I get (info|inter|ora|sql|syb)perl?
  531.  
  532.     Numerous database-oriented extensions to Perl have been written.
  533.     These amount to using the usub mechanism (see the usub/ subdirectory
  534.     in the distribution tree) to link in a database library, allowing
  535.     embedded calls to Informix, Interbase, Oracle, Ingres, and Sybase.
  536.     There is currently a project underway, organized by Buzz Moschetti
  537.     <buzz@bear.com>, to create a higher level interface (DBperl) that
  538.     will allow you to write your queries in a database-independent
  539.     fashion.  If you're interested, send mail to
  540.     <perldb-interest-request@vix.com> about it.
  541.  
  542.     Meanwhile, here are the authors of the various extensions:
  543.  
  544.     What            Target DB       Who
  545.     --------        -----------     ----------------------------------------
  546.     Infoperl        Informix        Kurt Andersen (kurt@hpsdid.sdd.hp.com)
  547.     Interperl       Interbase       Buzz Moschetti (buzz@bear.com)
  548.     Oraperl         Oracle          Kevin Stock (kstock@encore.com)
  549.     Sqlperl         Ingres          Ted Lemon (mellon@ncd.com)
  550.     Sybperl         Sybase          Michael Peppler (mpeppler@itf.ch)
  551.  
  552.  
  553. 1.12) There's an a2p and an s2p; why isn't there a p2c (perl-to-C)?
  554.  
  555.     Because the Pascal people would be upset that we stole their name. :-)
  556.  
  557.     The dynamic nature of Perl's do and eval operators (and remember that
  558.     constructs like s/$mac_donald/$mac_gregor/eieio count as an eval) would
  559.     make this very difficult.  To fully support them, you would have to put
  560.     the whole Perl interpreter into each compiled version for those scripts
  561.     using them.  This is what undump does right now, if your machine has it.
  562.     If what you're doing will be faster in C than in Perl, maybe it should
  563.     have been written in C in the first place.  For things that ought to be
  564.     written in Perl, the interpreter will be just about as fast, because the
  565.     pattern matching routines won't work any faster linked into a C program.
  566.     Even in the case of simple Perl programs that don't do any fancy evals, the
  567.     major gain would be in compiling the control flow tests, with the rest
  568.     still being a maze of twisty, turny subroutine calls.  Since these are not
  569.     usually the major bottleneck in the program, there's not as much to be
  570.     gained via compilation as one might think.
  571.  
  572.  
  573. 1.13) Where can I get undump for my machine?
  574.  
  575.     The undump program comes from the TeX distribution.  If you have TeX, then
  576.     you may have a working undump.  If you don't, and you can't get one,
  577.     *AND* you have a GNU emacs working on your machine that can clone itself,
  578.     then you might try taking its unexec() function and compiling Perl with
  579.     -DUNEXEC, which will make Perl call unexec() instead of abort().  You'll
  580.     have to add unexec.o to the objects line in the Makefile.  If you succeed,
  581.     post to comp.lang.perl about your experience so others can benefit from it.
  582.  
  583.  
  584. 1.14) Where can I get a perl-mode for emacs?
  585.  
  586.     In the perl4.0 source directory, you'll find a directory called
  587.     "emacs", which contains several files that should help you.
  588.  
  589.  
  590. 1.15) How can I use Perl interactively?
  591.  
  592.     The easiest way to do this is to run Perl under its debugger.
  593.     If you have no program to debug, you can invoke the debugger
  594.     on an `empty' program like this:
  595.  
  596.         perl -de 0
  597.  
  598.     (The more positive amongst us prefer "perl -de 1". :-)
  599.  
  600.     Now you can type in any legal Perl code, and it will be immediately
  601.     evaluated.  You can also examine the symbol table, get stack
  602.     backtraces, check variable Values, and if you want to, set
  603.     breakpoints and do the other things you can do in a symbolic debugger.
  604.  
  605.  
  606. 1.16) Is there a Perl shell?
  607.  
  608.    Not really.  Perl is a programming language, not a command
  609.    interpreter.  There is a very simple one called "perlsh"
  610.    included in the Perl source distribution.  It just does this:
  611.  
  612.     $/ = '';        # set paragraph mode
  613.     $SHlinesep = "\n";
  614.     while ($SHcmd = <>) {
  615.         $/ = $SHlinesep;
  616.         eval $SHcmd; print $@ || "\n";
  617.         $SHlinesep = $/; $/ = '';
  618.     }
  619.  
  620.    Not very interesting, eh?
  621.  
  622.    Daniel Smith <dansmith@autodesk.com> is working on an interactive Perl
  623.    shell called SoftList.  It's currently at version 3.0beta.  SoftList
  624.    3.0 has tcsh-like command line editing, can let you define a file of
  625.    aliases so that you can run chunks of perl or UNIX commands, and so
  626.    on.  You can send mail to him for further information and availability.
  627.